草庐IT

Javascript OnScroll 性能比较

全部标签

javascript - React/Redux 中的生命游戏,有助于提高性能

我正在使用react/redux/javascript开发TheGameofLife的一个版本,当我使用它时性能很糟糕。HereisalinktotherunninggameHere'sthesourceongithhub目前,我在每个滴答声(用户可更改的250,500,750毫秒)更新每个单元格的状态。为此,我循环遍历代表每个单元格的对象数组。每个对象中都有一个名为status的参数,它可以是一个整数,1表示活着,0表示死了。然后我拉入三行,每行三个单元格,对于相关单元格周围的中间和底部行,我然后对这些值求和(不包括中心的单元格本身)。然后我通过if/then流程运行该数字以确定该单

javascript - Aurelia + Redux 性能

我每天都使用Aurelia。最近,我一直在研究使用Redux(即我使用Aurelia+Redux构建了几个小型试用应用程序)并且给我留下了深刻的印象(我的开发工作流程和我的应用程序推理的清晰度得到了极大的改进)。我已经决定开始将其用于实际应用程序。话虽如此,我还是担心性能(我查看了有关性能的帖子,但没有直接看到我的问题地址)。我认为这个问题不是Aurelia特有的,更多的是关于Redux以及将其与非react库一起使用的问题。让我以我对Redux的理解作为我的问题的序言(也许我的问题真的是由于错误的理解而产生的?)。本质上,我对Redux的理解是有一个store(一个javascrip

javascript - 比较 Flow 中的枚举值

我正在使用flow在我的代码中注释类型。typeBar='One'|'Two';functionfoo(b:Bar):boolean{returnb==='Three';}有什么方法可以教flow报告与不匹配类型(在我的例子中是string)比较的警告或错误?hereistheexamplefortest编辑:所以似乎不可能用枚举来完成。但是,由于这实际上是我遇到的一个错误,所以我想表达这一点,以便流程可以帮助我标记这种情况。有什么想法吗? 最佳答案 您可以使用格式(value:Type)。在你的情况下是:typeBar='One'

javascript - 将环境变量与常量进行比较时,字符串比较在 Javascript 中不起作用

我们有一个简单的React应用程序,使用CRA1.x创建。我们安装了dotenv以在项目上使用环境变量,我们的变量包含在.env和.env.development文件中,例如这个:.envREACT_APP_LOGGER=LOGGER.env.developmentREACT_APP_LOGGER=NO_LOGGER然后在代码中我们有这样的逻辑:if(process.env.REACT_APP_LOGGER==="LOGGER"){//dosomething}在development模式下使用webpack4进行本地构建时,if为真,而在production模式下为false。但在az

javascript - 微调性能时,多次调用 JavaScript 方法的最佳方式是什么?

我一直在研究JavaScript的性能。我了解到,当访问不止一次时,通常最好将闭包变量和类成员复制到本地范围以加快速度。例如:vari=100;vardoSomething=function(){varlocalI=i;//dosomethingwithlocalIabunchoftimesvarobj={a:100};varobjA=obj.a;//dosomethingwithobjAabunchoftimes};我明白这一点;它为解释器添加了一个按名称查找值的快捷方式。在处理方法时,这个概念变得非常不清楚。起初,我认为它会以同样的方式工作。例如:varobj={fn:functi

javascript - 比较文件中的图像和从 Canvas 创建的图像

(我正在使用Protractor和Jasmine进行测试,我还在我的项目中包含了image-diff和node-canvas。)我需要比较两张图片并确保它们相同。一个保存在我的文件结构中,另一个是从Canvas创建的。我能够将Canvas转换为图像,还可以从文件中加载图像。这是我所拥有的:varimagediff=require('../node_modules/js-imagediff/js/imagediff.js');varCanvas=require('canvas');varfs=require('fs');varpath=require('path');beforeEach

javascript - 我可以使用三等号来比较 JavaScript 字符串吗?

我知道这是一个非常基本的问题,但我无法理解Google和StackOverflow上发生的事情。我看了here和here学习如何在JavaScript中比较字符串。他们的答案中都没有提到三重等于(===),并说最好使用您自己的函数(str1str2)。但是,通过关于===的解释在StackOverflow(here和here)中,答案包含字符串比较。从我在这些答案中看到的,===确实适用于字符串比较,那么为什么它不包含在字符串比较答案中呢?我只是想扩展我在JavaScript方面的知识。感谢您的任何见解! 最佳答案 varstr1=

javascript - 是否可以将自定义比较器传递给 lodash 的 sortBy 函数?

例如,我想根据Intl.Collat​​or().compare进行排序。有什么方法可以将此比较器传递给_.sortBy使用吗? 最佳答案 你可以使用lodashmixin的_.mixin({sortWith:function(arr,customFn){return_.map(arr).sort(customFn)}});你现在可以做_.sortWith(array,function(a,b){//customfunctionthatreturnseither-1,0,or1ifaisthanb});您现在可以像这样链接它:_.c

javascript - C# Regex 性能纯相对 JS

我对JS中正则表达式的速度有很好的体验。我决定做一个小小的比较。我运行了以下代码:varstr="Aregularexpressionisapatternthattheregularexpressionengineattemptstomatchininputtext.";varre=newRegExp("t","g");console.time();for(vari=0;i结果:3888.731ms。现在在C#中:varstopwatch=newStopwatch();varstr="Aregularexpressionisapatternthattheregularexpressio

javascript - 如何以更好的性能替换字符串中的大量单词?

最近,我写了一些代码来过滤字符串中的坏词。并且将过滤大量单词。我的代码有效,但性能不如预期。以下代码只是演示:方法一:letlist=["omg","bbq","wth","hello","world"];letsmallString="wthhello123456worldomg789bbqomgomg";for(leti=0;i方法二:letlist=["omg","bbq","wth","hello","world"];letsmallString="wthhello123456worldomg789bbqomgomg";for(leti=0;i我还用jsperf进行了性能测试,